package cn.edu.qfnu.oj.service;

import cn.edu.qfnu.common.exception.db.NoRecordFoundException;
import cn.edu.qfnu.common.exception.db.RecordAlreadyExistedException;
import cn.edu.qfnu.common.exception.db.WrongParameterException;
import cn.edu.qfnu.common.service.BaseService;
import cn.edu.qfnu.oj.entity.Teacher;

import java.time.LocalDateTime;

public interface TeacherService extends BaseService<Teacher, String> {

    void register(Teacher teacher) throws RecordAlreadyExistedException;

    Teacher login(String username, String password)
            throws NoRecordFoundException, WrongParameterException;

    void createProblem (String title, String content,
                        String inputDesc, String outputDesc, String sampleInput, String sampleOutput,
                        String classify, LocalDateTime createTime, String difficulty, String hint, String sources,
                        Integer memoryLimit, Integer timeLimit, Boolean isAcm, Boolean isTemp);

    void createTask(String title, String content, LocalDateTime startTime, LocalDateTime endTime,
                    String term);

    void modifyProblem (Object object);

    void deleteProblem (Object object);

}
